import axios from "axios";

export function getRequest(config) {
  let instance = axios.create({
    baseURL: "http://localhost:8888/",
    timeout: 5000
  });

//2:拦截器
  //请求拦截a
  instance.interceptors.request.use(config => {
    //如1：当发送请求时，在页面中显示一个loading组件
    //作为动画显示加载进度条等
    //如2：验证用户是否已经登录，没有登录就跳转到登陆页面
    //如3：对请求的参数序列化，然后再继续请求
    //继续请求
    return config;
  },error => {
    //请求失败主要是针对请求配置失败进行判断操作
    //如：用户请求超时
    console.log("请求拦截错误");
    console.log(error);
    return Promise.reject(error);
  });

  //响应的拦截
  instance.interceptors.response.use(config => {
    //响应成功的拦截，主要是对服务器返回的数据进行过滤操作
    return config;
  },error => {
    //响应失败的拦截，主要是根据响应状态码进行判断，跳转到不同的错误展示页面
    console.log("响应拦截错误");
    console.log(error);
    return Promise.reject(error);
  })
  //2: 发送网络请求
  return instance(config);

}
